home *** CD-ROM | disk | other *** search
/ SGI Hot Mix 8 / Hot Mix 8.iso / .all / demos / ICS / install.bx (.txt) < prev    next >
Text File  |  1994-06-22  |  24KB  |  1,126 lines

  1. #!/bin/sh
  2.  
  3. # Install Script for the Builder Xcessory.
  4. # Files will go in /usr/lib/X11 or $OPENWINHOME/lib as default.
  5.  
  6. # Set DEBUGYN to Y in order to run in debug mode.
  7. DEBUGYN=N
  8. DEBUG()
  9. {
  10.   if test "$DEBUGYN" != "Y"
  11.     then
  12.     $@
  13.   fi
  14. }
  15.  
  16. #
  17. # For systems which don't support mkdir -p, we use mkdirhier
  18. # adapted from the mkdirhier.sh script in the X11 distribution.
  19. #
  20. Mkdirhier()
  21. {
  22.   for f in $*; do
  23.     parts=`echo $f | sed 's,\(.\)/\(.\),\1 \2,g' | sed 's,/$,,'`;
  24.     path="";
  25.     for p in $parts; do
  26.       if [ x"$path" = x ]
  27.     then
  28.     dir=$p
  29.       else
  30.     dir=$path/$p
  31.       fi
  32.       if [ ! -d $dir ]
  33.     then
  34.     mkdir $dir
  35.     chmod a+rx $dir
  36.       fi
  37.       path=$dir
  38.     done
  39.   done
  40. }
  41.  
  42. Log()
  43. {
  44.   echo $1 >> $LOGFILE
  45.   echo $1
  46. }
  47.  
  48. Clear()
  49. {
  50.   echo ""
  51.   echo ""
  52.   echo ""
  53.   echo ""
  54.   echo ""
  55.   echo ""
  56.   echo ""
  57.   echo ""
  58.   echo ""
  59.   echo ""
  60.   echo ""
  61.   echo ""
  62.   echo ""
  63.   echo ""
  64.   echo ""
  65.   echo ""
  66.   echo ""
  67.   echo ""
  68.   echo ""
  69.   echo ""
  70.   echo ""
  71.   echo ""
  72.   echo ""
  73.   echo ""
  74. }
  75.     
  76. Title()
  77. {
  78.   echo "================================================================================"
  79.   echo "$1"
  80.   echo "================================================================================"
  81. }
  82.  
  83. Status()
  84. {
  85.   OUT=$1
  86.  
  87.   echo ""
  88.   case "$WHERE"
  89.     in
  90.     tape)
  91.       FILESRC="Magnetic Media"
  92.       MEDIA=$TPDRIVE
  93.     ;;
  94.     cdrom)
  95.       FILESRC="CD-ROM"
  96.       MEDIA=${CDROM}
  97.     ;;
  98.     *)
  99.       FILESRC="Directory"
  100.       MEDIA=$FROM_DIR
  101.     ;;
  102.   esac
  103.     
  104.   ${OUT} "[1] Installation From:        $FILESRC"
  105.   ${OUT} "[2] BX Files Loaded from:     $MEDIA"
  106.   ${OUT} ""
  107.   ${OUT} "[3] BX Home Directory:        $TMP_DEST"
  108.   ${OUT} "[4] Binary Linked in:         $BIN_DEST"
  109.   ${OUT} "[5] AppDefaults Linked in:    $APP_DEST"
  110.   ${OUT} "[6] Manpages Linked in:       $MAN_DEST"
  111.   ${OUT} "[7] X Data Files Located in:  $SERVERLIB"
  112. }
  113.  
  114. PromptUser()
  115. {
  116.   CONTINUE=NO
  117.   while test "$CONTINUE" = "NO"
  118.     do
  119.     echo "$1 (? for Help)"
  120.     echo ${DASHN} "[$2]->${SLASHC}"
  121.     read INPUT
  122.     case "$INPUT"
  123.       in
  124.       \? )
  125.     InstallHelp
  126.       ;;
  127.       * )
  128.     if test "$INPUT" = ""
  129.       then
  130.       USERPROMPT="$2"
  131.     else
  132.       USERPROMPT="$INPUT"
  133.     fi
  134.     CONTINUE=YES
  135.       ;;
  136.     esac
  137.   done
  138. }
  139.  
  140. AwaitEnter()
  141. {
  142.   ESCAPE=N
  143.   echo ${DASHN} "Press [ENTER] to continue [X] to escape...${SLASHC}"
  144.   read INPUT
  145.   case "$INPUT"
  146.     in
  147.     [xX] )
  148.       ESCAPE=Y
  149.     ;;
  150.     * )
  151.       ESCAPE=N
  152.     ;;
  153.   esac
  154. }
  155.  
  156. InstallHelp()
  157. {
  158.   Title "Builder Xcessory Installation Help:  $HELPTITLE"
  159.   case "$HELP"
  160.     in
  161.     main_menu )
  162.       echo ""
  163.       echo "Installation From        - indicates type of installation."
  164.       echo ""
  165.       echo "BX Home Directory        - indicates the directory in which all BX files"
  166.       echo "                           will reside.  This directory must be writable"
  167.       echo "                           and large enough to hold the BX distribution."
  168.       echo "                           On systems which support symbolic file links,"
  169.       echo "                           This is the only location in which BX files"
  170.       echo "                           physically reside.  All other changes are"
  171.       echo "                           symbolic file links."
  172.       echo ""
  173.       echo "BX Files Loaded from     - indicates source of BX files."
  174.       echo ""
  175.       echo "Binary Linked in         - indicates directory in which a link to the BX"
  176.       echo "                           binary will appear."
  177.       echo ""
  178.       echo ""
  179.       echo ""
  180.       echo ""
  181.       echo ""
  182.       
  183.       AwaitEnter
  184.       if test "$ESCAPE" = "Y"
  185.     then
  186.     return
  187.       fi
  188.       Title "Builder Xcessory Installation Help:  $HELPTITLE"
  189.       echo ""
  190.       echo "AppDefaults Linked in    - indicates directory in which a link to the"
  191.       echo "                           Builder Xcessory application defaults file"
  192.       echo "                           will appear."
  193.       echo ""
  194.       echo "Manpages Linked in       - indicates the top of the manual page directory."
  195.       echo "                           Manual pages for the Builder Xcessory and"
  196.       echo "                           Flexible License Manager will be linked in"
  197.       echo "                           the appropriate sub-directories."
  198.       echo ""
  199.       echo "X Data Files Located in  - indicates the directory in which various X"
  200.       echo "                           data files are located.  The installation"
  201.       echo "                           scripts examines the XKeysymDB file in this"
  202.       echo "                           directory to determine if the OSF Virtual Keysyms"
  203.       echo "                           are defined.  If they are not, they are added to"
  204.       echo "                           the XKeysymDB in this directory."
  205.       echo ""
  206.       echo ""
  207.       echo ""
  208.       echo ""
  209.         
  210.       AwaitEnter
  211.     ;;
  212.     ow )
  213.       echo ""
  214.       echo "Under OpenWindows, the following directories are located differently than the"
  215.       echo "corresponding directories in the MIT Sample X Implementation."
  216.       echo ""
  217.       echo ""
  218.       echo "      MIT                         OpenWindows"
  219.       echo " -----------------------------------------------------------"
  220.       echo ""
  221.       echo " /usr/lib/X11                  /usr/openwin/lib"
  222.       echo " /usr/lib/X11/app-defaults     /usr/openwin/lib/app-defaults"
  223.       echo " /usr/bin/X11                  /usr/openwin/bin"
  224.       echo " /usr/man/*                    /usr/openwin/man/*"
  225.       echo ""
  226.       echo ""
  227.       echo ""
  228.       echo ""
  229.       echo ""
  230.       echo ""
  231.       echo ""
  232.       echo ""
  233.       
  234.       AwaitEnter
  235.     ;;
  236.     filerm )
  237.       echo ""
  238.       echo ""
  239.       echo ""
  240.       echo ""
  241.       echo ""
  242.       echo ""
  243.       echo ""
  244.       echo ""
  245.       echo ""
  246.       echo "Responding with 'Y' will remove the copies of the Builder Xcessory"
  247.       echo "files in this directory.  These files have already been moved to the"
  248.       echo "BX home directory.  Responding with 'N' will leave the files unchanged."
  249.       echo ""
  250.       echo ""
  251.       echo ""
  252.       echo ""
  253.       echo ""
  254.       echo ""
  255.       echo ""
  256.       echo ""
  257.       AwaitEnter
  258.     ;;
  259.     links )
  260.       echo ""
  261.       echo ""
  262.       echo ""
  263.       echo "Executing the next step will set up several symbolic links on this system"
  264.       echo "to the BX Home directory tree."
  265.       echo ""
  266.       echo "In the following table, {BX} is used to represent"
  267.       echo "  ${TMP_DEST}"
  268.       echo ""
  269.       echo "Source         ->         Link"
  270.       echo "-----------------------------------------------------------------------"
  271.       echo "{BX}/bin/bx               ${BIN_DEST}/bx"
  272.       echo "{BX}/BuilderXcessory      ${APP_DEST}/BuilderXcessory"
  273.       echo "{BX}/man/man1/...         ${MAN_DEST}/man1/..."
  274.       echo "{BX}/man/man5/...         ${MAN_DEST}/man5/..."
  275.       echo ""
  276.       echo ""
  277.       echo ""
  278.       echo ""
  279.       AwaitEnter
  280.     ;;
  281.     * )
  282.     ;;
  283.   esac
  284.   Clear
  285. }
  286.  
  287. #
  288. # Try to get a reasonable default for the tape drive.
  289. # Do not change the SYSTEM=sgi5 line.
  290. SYSTEM=sgi5
  291. FROM_DIR=`pwd`
  292. WHERE=tape
  293. DASHN=-n
  294. SLASHC=" "
  295. UNCOMPRESS=n
  296. SHORT_NAMES=n
  297. OPENWIN=n
  298. CATMAN=n
  299. LN="ln -s"
  300. SH=/bin/sh
  301. MKDIR="mkdir -p"
  302. CDROM="/cdrom"
  303. SYSDIR="unknown"
  304. USE_TAR="y"
  305. case $SYSTEM
  306. in
  307.   sun4)
  308.     TPDRIVE=/dev/rst8
  309.     OPENWIN=y
  310.     HOSTNAME=`/bin/hostname`
  311.     CDROM=/cdrom
  312.     SYSDIR=.Solaris_1
  313.   ;;
  314.   sun4-cd)
  315.     TPDRIVE=/dev/rst8
  316.     WHERE=cdrom
  317.     CDROM=/cdrom
  318.     SYSDIR=.Solaris_1
  319.     OPENWIN=y
  320.     HOSTNAME=`/bin/hostname`
  321.     USE_TAR="n"
  322.   ;;
  323.   sun4f)
  324.     TPDRIVE=/dev/rfd0
  325.     UNCOMPRESS=y
  326.     OPENWIN=y
  327.     HOSTNAME=`/bin/hostname`
  328.     CDROM=/cdrom
  329.     SYSDIR=.Solaris_1
  330.   ;;
  331.   ds3100)
  332.     TPDRIVE=/dev/rmt0h
  333.     SH=/bin/sh5
  334.     DASHN=""
  335.     SLASHC=" \c"
  336.     HOSTNAME=`/bin/hostname`
  337.     CDROM=/cdrom
  338.     SYSDIR=.Ultrix_4x
  339.   ;;
  340.   ds3100-cd)
  341.     WHERE="cdrom"
  342.     TPDRIVE=/dev/rmt0h
  343.     SH=/bin/sh5
  344.     DASHN=""
  345.     SLASHC=" \c"
  346.     HOSTNAME=`/bin/hostname`
  347.     CDROM=/cdrom
  348.     SYSDIR=.Ultrix_4x
  349.   ;;
  350.   osf)
  351.     CDROM=/cdrom
  352.     SYSDIR=.Axposf_1
  353.     TPDRIVE=/dev/rmt0a
  354.     DASHN=""
  355.     SLASHC=" \c"
  356.     OPENWIN=n
  357.     HOSTNAME=`/bin/hostname`
  358.   ;;
  359.   osf-cd)
  360.     WHERE="cdrom"
  361.     CDROM=/cdrom
  362.     SYSDIR=.Axposf_1
  363.     TPDRIVE=/dev/rmt0a
  364.     DASHN=""
  365.     SLASHC=" \c"
  366.     OPENWIN=n
  367.     HOSTNAME=`/bin/hostname`
  368.   ;;
  369.   sgi)
  370.     CDROM=/cdrom
  371.     SYSDIR=.Irix_4
  372.     TPDRIVE=/dev/tapens
  373.     DASHN=""
  374.     SLASHC=" \c"
  375.     HOSTNAME=`/usr/bsd/hostname`
  376.   ;;
  377.   sgi-cd)
  378.     WHERE=cdrom
  379.     CDROM=/cdrom
  380.     SYSDIR=.Irix_4
  381.     TPDRIVE=/dev/tapens
  382.     DASHN=""
  383.     SLASHC=" \c"
  384.     HOSTNAME=`/usr/bsd/hostname`
  385.   ;;
  386.   sgi5)
  387.     CDROM=/cdrom
  388.     SYSDIR=.Irix_5
  389.     TPDRIVE=/dev/tape
  390.     DASHN=""
  391.     SLASHC=" \c"
  392.     HOSTNAME=`/usr/bsd/hostname`
  393.   ;;
  394.   sgi5-cd)
  395.     WHERE=cdrom
  396.     CDROM=/cdrom
  397.     SYSDIR=.Irix_5
  398.     TPDRIVE=/dev/tape
  399.     DASHN=""
  400.     SLASHC=" \c"
  401.     HOSTNAME=`/usr/bsd/hostname`
  402.   ;;
  403.   hp700)
  404.     CDROM=/cdrom
  405.     SYSDIR=.Hpux_9
  406.     TPDRIVE=/dev/rmt/0m
  407.     DASHN=""
  408.     SLASHC=" \c"
  409.     OPENWIN=n
  410.     SHORT_NAMES=y
  411.     HOSTNAME=`/bin/hostname`
  412.   ;;
  413.   hp700-cd)
  414.     WHERE=cdrom
  415.     CDROM=/cdrom
  416.     SYSDIR=.Hpux_9
  417.     TPDRIVE=/dev/rmt/0m
  418.     DASHN=""
  419.     SLASHC=" \c"
  420.     OPENWIN=n
  421.     SHORT_NAMES=y
  422.     HOSTNAME=`/bin/hostname`
  423.   ;;
  424.   ibm)
  425.     CDROM=/cdrom
  426.     SYSDIR=.Aix_324
  427.     TPDRIVE=/dev/rmt0
  428.     DASHN=""
  429.     SLASHC=" \c"
  430.     MKDIR="Mkdirhier"
  431.     HOSTNAME=`/bin/hostname`
  432.   ;;
  433.   ibm-cd)
  434.     WHERE=cdrom
  435.     CDROM=/cdrom
  436.     SYSDIR=.Aix_324
  437.     TPDRIVE=/dev/rmt0
  438.     DASHN=""
  439.     SLASHC=" \c"
  440.     MKDIR="Mkdirhier"
  441.     HOSTNAME=`/bin/hostname`
  442.   ;;
  443.   sco)
  444.     UNCOMPRESS=y
  445.     CDROM=/cdrom
  446.     SYSDIR=.Odt_3
  447.     TPDRIVE=/dev/fd0
  448.     DASHN=""
  449.     SLASHC=" \c"
  450.     SHORT_NAMES=y
  451.     LN="cp"
  452.     HOSTNAME=`/usr/bin/hostname`
  453.   ;;
  454.   sco-cd)
  455.     WHERE=cdrom
  456.     CDROM=/cdrom
  457.     SYSDIR=.Odt_3
  458.     UNCOMPRESS=n
  459.     TPDRIVE=/dev/fd0
  460.     DASHN=""
  461.     SLASHC=" \c"
  462.     SHORT_NAMES=y
  463.     LN="cp"
  464.     HOSTNAME=`/usr/bin/hostname`
  465.   ;;
  466.   mips)
  467.     CDROM=/cdrom
  468.     SYSDIR=.Mips_5
  469.     TPDRIVE=/dev/rmt/h0
  470.     DASHN=""
  471.     SLASHC=" \c"
  472.     NO_LMGR="y"
  473.     HOSTNAME=`/usr/net/hostname`
  474.   ;;
  475.   mips-cd)
  476.     WHERE=cdrom
  477.     CDROM=/cdrom
  478.     SYSDIR=.Mips_5
  479.     TPDRIVE=/dev/rmt/h0
  480.     DASHN=""
  481.     SLASHC=" \c"
  482.     NO_LMGR="y"
  483.     HOSTNAME=`/usr/net/hostname`
  484.   ;;
  485.   *)
  486.     TPDRIVE=/dev/rst8
  487.     HOSTNAME=`/bin/hostname`
  488.   ;;
  489. esac
  490.  
  491. # Installation on an Open Windows platform uses different directories
  492. #
  493. if test "$OPENWIN" = "y"
  494. then
  495.   HELP=ow
  496.   HELPTITLE="Window System"
  497.   echo $HELPTITLE    
  498.   CONT=NO
  499.   while test "$CONT" = "NO"
  500.     do
  501.     Title "Builder Xcessory Installation"
  502.     echo ""
  503.     echo ""
  504.     echo ""
  505.     echo ""
  506.     echo ""
  507.     echo ""
  508.     echo ""
  509.     echo "The MIT X11 Distribution directory structure differs from the"
  510.     echo "Sun Open Windows X11/NeWS directory structure.  In order for"
  511.     echo "the Builder Xcessory to be installed properly, the X11 server"
  512.     echo "being used must be known."
  513.     echo ""
  514.     echo ""
  515.     echo ""
  516.     echo ""
  517.     echo ""
  518.     echo ""
  519.     echo ""
  520.     echo ""
  521.     HELP=ow
  522.     HELPTITLE="Window System"
  523.     PromptUser "Do you want to install for Open Windows?" "y"
  524.     if test "$USERPROMPT" != ""
  525.       then
  526.       case "$USERPROMPT"
  527.     in
  528.     [Nn] | [Nn][Oo])
  529.       USEOPENWIN=NO
  530.       CONT=YES
  531.     ;;
  532.     [Yy] | [Yy][Ee] | [Yy][Ee][Ss])
  533.       USEOPENWIN=YES
  534.       CONT=YES
  535.     ;;
  536.     *)
  537.       echo ""
  538.       echo "Please answer y or n"
  539.       CONT=NO
  540.     ;;
  541.       esac
  542.     else
  543.       CONT=YES
  544.       USEOPENWIN=YES
  545.     fi
  546.   done
  547. else
  548.   USEOPENWIN=NO
  549. fi
  550.  
  551. #
  552. # Destination Defaults
  553. #
  554. if test "${USEOPENWIN}" = "YES"
  555. then
  556.   if test "${OPENWINHOME}" != ""
  557.     then
  558.     SERVERLIB=${OPENWINHOME}/lib
  559.     BX_HOME=${OPENWINHOME}/lib
  560.     BIN_DEST=${OPENWINHOME}/bin
  561.     MAN_DEST=${OPENWINHOME}/man
  562.   else
  563.     SERVERLIB=/usr/openwin/lib
  564.     BX_HOME=/usr/openwin/lib
  565.     BIN_DEST=/usr/openwin/bin
  566.     MAN_DEST=/usr/openwin/man
  567.   fi
  568. else
  569.   SERVERLIB=/usr/lib/X11
  570.   BX_HOME=/usr/lib/X11
  571.   BIN_DEST=/usr/bin/X11
  572.   MAN_DEST=/usr/man
  573. fi
  574.  
  575. APP_DEST=${SERVERLIB}/app-defaults
  576.  
  577. if test "$CATMAN" = "y"
  578.   then
  579.   SUB_MAN=cat
  580. else
  581.   SUB_MAN=man
  582. fi
  583.  
  584. if test "${SHORT_NAMES}" = "y"
  585.   then
  586.   OLD_DEST=${BX_HOME}/bX
  587.   TMP_DEST=${BX_HOME}/bX
  588.   STANDARD_LIB_DEST=/usr/lib/X11/bX
  589.   APP_SRC=BX
  590.   HH_APP_SRC=HyperHelp
  591. else
  592.   OLD_DEST=${BX_HOME}/builderXcessory
  593.   TMP_DEST=${BX_HOME}/builderXcessory
  594.   STANDARD_LIB_DEST=/usr/lib/X11/builderXcessory
  595.   APP_SRC=BuilderXcessory
  596.   HH_APP_SRC=HyperHelp
  597. fi
  598.  
  599. if test "$UNCOMPRESS" = "y"
  600.   then
  601.   LIST="./bin/bx.Z ./XmAppl.uil"
  602. else
  603.   LIST="./bin/bx ./XmAppl.uil"
  604. fi
  605.  
  606. BIN_SRC=bin/bx
  607. LIB_SRC=lib/bx.o
  608. KEYSYMS=bindings/XKeysymDB
  609.  
  610. ALL_MAN=man
  611. MAN_SRC=${ALL_MAN}/${SUB_MAN}
  612. REL_NOTES=RELEASE_NOTES
  613. BUG_RPT=BUG_REPORT
  614.  
  615. MAN1_LIST="bx.1 lmgrd.1 lmstat.1 lmhostid.1 lmdown.1 lmremove.1 lmreread.1"
  616. MAN5_LIST="license.dat.5 license.opt.5"
  617.  
  618. #
  619. # Misc variables.
  620. LOGFILE=/tmp/BXINST_LOG.${HOSTNAME}
  621. echo "" > $LOGFILE
  622.  
  623. cwd='/bin/pwd'
  624. CONT=NO
  625. if [ $DEBUGYN = "Y" ]
  626.   then
  627.   echo Running Builder Xcessory installation script in debug mode.
  628.   echo No commands which cause changes will be executed.
  629. fi
  630.  
  631. Log "Installation of the Builder Xcessory on `date`."
  632. DESTOK=N
  633. CONT=NO
  634. while test "$CONT" = "NO"
  635. do
  636.   HELP="main_menu"
  637.   HELPTITLE="Main Menu"
  638.   Title "Builder Xcessory Installation"
  639.   Status "echo"
  640.   echo ""
  641.   echo 1. Change BX Installation Source Type
  642.   echo 2. Change BX Installation Source
  643.   echo 3. Change BX Home Directory. 
  644.   echo 4. Change Binary Directory. 
  645.   echo 5. Change Application Defaults Directory. 
  646.   echo 6. Change Manual Pages Directory. 
  647.   echo 7. Change X Data Files Directory.
  648.   echo I. INSTALL BX AS CONFIGURED.
  649.   echo Q. QUIT.
  650.   echo ""
  651.   echo ${DASHN} "Selection (? for Help):${SLASHC}"
  652.   read Z
  653.   echo ""
  654.   case "$Z"
  655.     in
  656.     [Qq])
  657.       Log "Quit by user from Main Menu."
  658.       exit
  659.     ;;
  660.     [Ii])
  661.       CONT=YES
  662.     ;;
  663.     \?)
  664.       InstallHelp
  665.     ;;
  666.     1)
  667.       if test "$WHERE" = "tape"
  668.     then
  669.     WHERE="cdrom"
  670.       elif test "$WHERE" = "cdrom"
  671.     then
  672.     WHERE="directory"
  673.       else
  674.     WHERE="tape"
  675.       fi
  676.     ;;
  677.     2)
  678.       if test "$WHERE" = "tape"
  679.     then
  680.     PromptUser "Enter new media device name" ${TPDRIVE}
  681.     TPDRIVE=${USERPROMPT}
  682.       elif test "$WHERE" = "cdrom"
  683.     then
  684.     PromptUser "Enter the CD-ROM Mount point" ${CDROM}
  685.     CDROM=${USERPROMPT}
  686.     FROM_DIR=${CDROM}/${SYSDIR}
  687.       else
  688.     PromptUser "Enter new directory name" ${FROM_DIR}
  689.     FROM_DIR=${USERPROMPT}
  690.       fi
  691.     ;;
  692.     3)
  693.       PromptUser "Enter new BX home directory" $TMP_DEST
  694.       OLD_DEST=${TMP_DEST}
  695.       TMP_DEST=${USERPROMPT}
  696.       if test "$TMP_DEST" != "$OLD_DEST"
  697.     then
  698.     DESTOK=N
  699.       fi
  700.     ;;
  701.     4)
  702.       PromptUser "Enter new binary directory" ${BIN_DEST}
  703.       BIN_DEST=${USERPROMPT}
  704.     ;;
  705.     5)
  706.       PromptUser "Enter new defaults directory" ${APP_DEST}
  707.       APP_DEST=${USERPROMPT}
  708.     ;;
  709.     6)
  710.       PromptUser "Enter new manual page directory" ${MAN_DEST}
  711.       MAN_DEST=${USERPROMPT}
  712.     ;;
  713.     7)
  714.       PromptUser "Enter the X data file directory" ${SERVERLIB} 
  715.       SERVERLIB=${USERPROMPT}
  716.     ;;
  717.     *)
  718.     ;;
  719.   esac
  720.  
  721.   if [ -d $TMP_DEST -a "$DESTOK" = "N" ]
  722.     then
  723.     echo ""
  724.     echo ""
  725.     echo ""
  726.     echo ""
  727.     echo ""
  728.     echo ""
  729.     echo ""
  730.     echo ""
  731.     echo ""
  732.     echo ""
  733.     echo ""
  734.     echo ""
  735.     echo ""
  736.     echo ""
  737.     echo ""
  738.     Title "W A R N I N G"
  739.     echo ""
  740.     echo ""
  741.     echo ""
  742.     echo "${TMP_DEST} exists"
  743.     SET=NO
  744.     while test "$SET" = "NO"
  745.       do
  746.       echo ""
  747.       PromptUser "Do you want to use $TMP_DEST?" "y"
  748.       case "$USERPROMPT"
  749.     in
  750.     [Yy] | [Yy][Ee] | [Yy][Ee]{Ss] )
  751.       echo ""
  752.       echo ""
  753.       echo "PLEASE NOTE:"
  754.       echo ""
  755.       echo "Any file names in ${TMP_DEST} which conflict"
  756.       echo "with files in the distribution will be overwritten"
  757.       echo "by the files in the distribution if you continue"
  758.       echo "the installation.  If you do not want this to"
  759.       echo "happen, you must manually backup the contents"
  760.       echo "of ${TMP_DEST}."
  761.       echo ""
  762.       echo ""
  763.       echo ""
  764.       AwaitEnter
  765.       DESTOK="Y"
  766.       SET="YES"
  767.     ;;
  768.     [Nn] | [Nn][Oo] )
  769.       echo ""
  770.       echo ""
  771.       echo ""
  772.       echo ""
  773.       echo ""
  774.       echo ""
  775.       echo "Resetting BX File destination to ${OLD_DEST}"
  776.       echo ""
  777.       echo ""
  778.       echo ""
  779.       echo ""
  780.       echo ""
  781.       echo ""
  782.       AwaitEnter
  783.       CONT="NO"
  784.       SET="YES"
  785.       TMP_DEST=${OLD_DEST}
  786.     ;;
  787.     * )
  788.       echo ""
  789.       echo "Please answer 'y' or 'n'"
  790.       SET="NO"
  791.     ;;
  792.       esac
  793.     done
  794.   fi
  795. done
  796.  
  797. Clear
  798. Title "Installing"
  799. Status "Log"
  800. echo ""
  801.  
  802. if [ ! -d "$TMP_DEST" ]
  803.   then
  804.   Log "$TMP_DEST does not exist...creating"
  805.   DEBUG $MKDIR $TMP_DEST
  806.   if [ ! -d "$TMP_DEST" ]
  807.     then
  808.     Log "Cannot create BX home directory ${TMP_DEST}. Aborting."
  809.     DEBUG exit
  810.   fi
  811. fi
  812.  
  813. # Time to deal with the installation source.
  814. if [ $DEBUGYN = "Y" ]
  815.   then
  816.   echo ""
  817.   echo "Would load files from tape via tar here."
  818. else
  819.   case "$WHERE"
  820.     in
  821.     tape )
  822.       echo ""
  823.       Log "Loading Builder Xcessory Files from tape (${TPDRIVE})."
  824.       Log "Executing the command:"
  825.       Log "        (cd $TMP_DEST; tar xf ${TPDRIVE})"
  826.     
  827.       (cd $TMP_DEST; tar xf ${TPDRIVE})
  828.       if [ $? -ne 0 ]
  829.     then
  830.     echo ""
  831.     Title "ERROR - File Extraction Failed"
  832.     echo ""
  833.     Log "File extraction Failed - Aborting..."
  834.     DEBUG exit
  835.       fi
  836.     ;;
  837.     directory )
  838.       echo ""
  839.       Log "Copying BX Files to ${TMP_DEST}."
  840.  
  841.       cd ${FROM_DIR}
  842.       tar cf - . | (cd $TMP_DEST; tar xf -)
  843.       if [ $? -ne 0 ]
  844.     then
  845.     echo ""
  846.     Title "ERROR - File Move Failed"
  847.     echo ""
  848.     Log "File move failed - Aborting..."
  849.     DEBUG exit
  850.       fi
  851.     ;;
  852.     cdrom )
  853.       echo ""
  854.       FROM_DIR=${CDROM}/${SYSDIR}
  855.       Log "Installing Builder Xcessory from ${FROM_DIR}."
  856.  
  857.       cd ${FROM_DIR}
  858.       if [ "${USE_TAR}" = "y" ]
  859.     then
  860.     tar cf - . | (cd $TMP_DEST; tar xf -)
  861.       else
  862.     cp -R ./* $TMP_DEST
  863.       fi
  864.       
  865.       if [ $? -ne 0 ]
  866.     then
  867.     echo ""
  868.     Title "ERROR - File Move Failed"
  869.     echo ""
  870.     Log "File move failed - Aborting..."
  871.     DEBUG exit
  872.       fi
  873.     ;;
  874.       
  875.   esac
  876. fi
  877.  
  878. echo ""
  879. AwaitEnter
  880. Clear
  881. Title "Creating System Links"
  882. echo ""
  883.  
  884. if test "$DEBUGYN" = "Y"
  885.   then
  886.   LINKFILE=./links
  887. else
  888.   LINKFILE=${TMP_DEST}/links
  889. fi
  890.  
  891. HELP="links"
  892. HELPTITLE="System Links"
  893. PromptUser "Do you want to create the links for BX on this system?" "y"
  894. case "$USERPROMPT"
  895.   in
  896.   [Yy] | [Yy][Ee] | [Yy][Ee][Ss])
  897.     CONT="Y"
  898.   ;;
  899.   *)
  900.     CONT="N"
  901.   ;;
  902. esac
  903.  
  904. if test "$CONT" = "Y"
  905.   then
  906.   Clear
  907.   Title "Creating System Links"
  908.   echo ""
  909.   Log "Creating links..."
  910.  
  911.   if test "$DEBUGYN" = "N"
  912.     then
  913.     sed -e "s?${STANDARD_LIB_DEST}?${TMP_DEST}?g" \
  914.     ${TMP_DEST}/${APP_SRC}.ad > ${TMP_DEST}/${APP_SRC}.tmp
  915.   fi
  916.   DEBUG mv ${TMP_DEST}/${APP_SRC}.tmp ${TMP_DEST}/${APP_SRC}.${HOSTNAME}
  917.  
  918.   if test "$UNCOMPRESS" = "y"
  919.     then
  920.     WHEREAMI=`pwd`
  921.     DEBUG cd ${TMP_DEST}
  922.     DEBUG uncompress ${BIN_SRC}
  923.     DEBUG cd ${WHEREAMI}
  924.   fi
  925.  
  926.   Log "Removing old links (if they exist)"
  927.   if test -f ${LINKFILE}
  928.     then
  929.     DEBUG rm -f `cat ${LINKFILE}`
  930.   fi
  931.  
  932.   DEBUG rm -f ${LINKFILE}
  933.   DEBUG rm -f ${BIN_DEST}/bx
  934.   DEBUG rm -f ${APP_DEST}/${APP_SRC}
  935.   DEBUG rm -f ${APP_DEST}/${HH_APP_SRC}
  936.   DEBUG rm -f /usr/lib/bx.o
  937.  
  938.   for i in $MAN1_LIST
  939.     do
  940.     DEBUG rm -f ${MAN_DEST}/${SUB_MAN}1/$i
  941.   done
  942.   for i in $MAN5_LIST
  943.     do
  944.     DEBUG rm -f ${MAN_DEST}/${SUB_MAN}5/$i
  945.   done
  946.     
  947.   echo ""
  948.   echo "In the following, {BX} is used to represent"
  949.   echo "  ${TMP_DEST}."
  950.   echo ""
  951.   echo ${BIN_DEST}/bx >> ${LINKFILE}
  952.   if [ -d "${BIN_DEST}" ]
  953.     then
  954.     Log "${LN} {BX}/${BIN_SRC} ${BIN_DEST}/bx"
  955.     DEBUG ${LN} ${TMP_DEST}/${BIN_SRC} ${BIN_DEST}/bx
  956.   else
  957.     Log "${BIN_DEST} does not exist...creating"
  958.     DEBUG ${MKDIR} ${BIN_DEST}
  959.     Log "${LN} {BX}/${BIN_SRC} ${BIN_DEST}/bx"
  960.     DEBUG ${LN} ${TMP_DEST}/${BIN_SRC} ${BIN_DEST}/bx
  961.   fi
  962.  
  963.   echo ${APP_DEST}/${APP_SRC} >> ${LINKFILE}
  964.   if [ -d "${APP_DEST}" ]
  965.     then
  966.     Log "${LN} {BX}/${APP_SRC}.${HOSTNAME} ${APP_DEST}/${APP_SRC}"
  967.     DEBUG ${LN} ${TMP_DEST}/${APP_SRC}.${HOSTNAME} ${APP_DEST}/${APP_SRC}
  968.   else
  969.     Log "${APP_DEST} does not exist...creating"
  970.     DEBUG ${MKDIR} ${APP_DEST}
  971.     Log "${LN} {BX}/${APP_SRC}.${HOSTNAME} ${APP_DEST}/${APP_SRC}"
  972.     DEBUG ${LN} ${TMP_DEST}/${APP_SRC}.${HOSTNAME} ${APP_DEST}/${APP_SRC}
  973.   fi
  974.   echo ${APP_DEST}/${HH_APP_SRC} >> ${LINKFILE}
  975.   Log "${LN} {BX}/${HH_APP_SRC} ${APP_DEST}/${HH_APP_SRC}"
  976.   DEBUG ${LN} ${TMP_DEST}/${HH_APP_SRC} ${APP_DEST}/${HH_APP_SRC}
  977.   
  978.   if [ -d "${MAN_DEST}/${SUB_MAN}1" ]
  979.     then
  980.     for i in $MAN1_LIST
  981.       do
  982.       DEBUG echo ${MAN_DEST}/${SUB_MAN}1/$i >> ${LINKFILE}
  983.       Log "${LN} {BX}/${MAN_SRC}1/$i ${MAN_DEST}/${SUB_MAN}1/$i"
  984.       DEBUG ${LN} ${TMP_DEST}/${MAN_SRC}1/$i ${MAN_DEST}/${SUB_MAN}1/$i
  985.     done
  986.   else
  987.     Log "${MAN_DEST}/${SUB_MAN}1 does not exist...creating"
  988.     DEBUG ${MKDIR} ${MAN_DEST}/${SUB_MAN}1
  989.     for i in $MAN1_LIST
  990.       do
  991.       DEBUG echo ${MAN_DEST}/${SUB_MAN}1/$i >> ${LINKFILE}
  992.       Log "${LN} {BX}/${MAN_SRC}1/$i ${MAN_DEST}/${SUB_MAN}1/$i"
  993.       DEBUG ${LN} ${TMP_DEST}/${MAN_SRC}1/$i ${MAN_DEST}/${SUB_MAN}1/$i
  994.     done
  995.   fi
  996.   
  997.   if [ -d "${MAN_DEST}/${SUB_MAN}5" ]
  998.     then
  999.     for i in $MAN5_LIST
  1000.       do
  1001.       DEBUG echo ${MAN_DEST}/${SUB_MAN}5/$i >> ${LINKFILE}
  1002.       Log "${LN} {BX}/${MAN_SRC}5/$i ${MAN_DEST}/${SUB_MAN}5/$i"
  1003.       DEBUG ${LN} ${TMP_DEST}/${MAN_SRC}5/$i ${MAN_DEST}/${SUB_MAN}5/$i
  1004.     done
  1005.   else
  1006.     Log "${MAN_DEST}/${SUB_MAN}5 does not exist...creating"
  1007.     DEBUG ${MKDIR} ${MAN_DEST}/${SUB_MAN}5
  1008.     for i in $MAN5_LIST
  1009.       do
  1010.       DEBUG echo ${MAN_DEST}/${SUB_MAN}5/$i >> ${LINKFILE}
  1011.       Log "${LN} {BX}/${MAN_SRC}5/$i ${MAN_DEST}/${SUB_MAN}5/$i"
  1012.       DEBUG ${LN} ${TMP_DEST}/${MAN_SRC}5/$i ${MAN_DEST}/${SUB_MAN}5/$i
  1013.     done
  1014.   fi
  1015.   echo ""
  1016.   AwaitEnter
  1017. #
  1018. # See if we need to install the OSF Keysyms
  1019. #
  1020.   Clear
  1021.   Title "Check for OSF Virtual Keysyms"
  1022.   echo ""
  1023.   Log "See if XKeysymDB exists and verify existance of OSF Virtual Keysyms"
  1024.       
  1025.   if [ -f "${SERVERLIB}/XKeysymDB" ]
  1026.     then
  1027.     grep '^osf' ${SERVERLIB}/XKeysymDB > /dev/null
  1028.     if [ $? -ne 0 ]
  1029.       then
  1030.       Log "${SERVERLIB}/XKeysymDB exists but contains no OSF Keysyms"
  1031.       Log "Adding the OSF Virtual Keysyms to ${SERVERLIB}/XKeysymDB."
  1032.       Log "Old XKeysymDB saved in ${SERVERLIB}/XKeysymDB.old"
  1033.       DEBUG cp ${SERVERLIB}/XKeysymDB ${SERVERLIB}/XKeysymDB.old
  1034.       DEBUG cat ${TMP_DEST}/${KEYSYMS} >> ${SERVERLIB}/XKeysymDB
  1035.     else
  1036.       echo ""
  1037.       Log "${SERVERLIB}/XKeysymDB exists and contains OSF Keysyms"
  1038.     fi
  1039.   else
  1040.     Log "${SERVERLIB}/XKeysymDB does not exist...creating"
  1041.     DEBUG cp ${TMP_DEST}/${KEYSYMS} ${SERVERLIB}/XKeysymDB
  1042.   fi
  1043.   echo ""
  1044.   echo "In order for the Motif Virtual Bindings to work properly,"
  1045.   echo "the user of Builder Xcessory will need to have a binding set"
  1046.   echo "up to map the OSF Virtual Keysyms to actual keys on his or her"
  1047.   echo "keyboard.  This is normally done via the Motif Window Manager"
  1048.   echo "(mwm).  If the user is not using mwm, he or she may set the"
  1049.   echo "defaultVirtualBindings resource to do the mappings.  The"
  1050.   echo "directory:"
  1051.   echo ""
  1052.   echo "        ${TMP_DEST}/bindings"
  1053.   echo ""
  1054.   echo "contains examples of this for various platforms."
  1055.   echo ""
  1056.   AwaitEnter
  1057. else
  1058.   echo ""
  1059.   Log "No Links will be created on this system"
  1060.   echo ""
  1061.   AwaitEnter
  1062. fi
  1063.  
  1064. Clear
  1065. Title "Builder Xcessory Installation Cleanup"
  1066. echo ""
  1067. echo "Release notes are located in ${TMP_DEST}/RELEASE_NOTES."
  1068. echo "A Bug Report form is located in ${TMP_DEST}/BUG_REPORT."
  1069.  
  1070. if test "$WHERE" = "directory"
  1071.   then
  1072.   HELP="filerm"
  1073.   HELPTITLE="Remove Files"
  1074.   PromptUser "Remove files in ${FROM_DIR}?" "y"
  1075.   case "$USERPROMPT"
  1076.     in
  1077.     [Yy] | [Yy][Ee] | [Yy][Ee][Ss])
  1078.       Log "Removing local files..."
  1079.       rm -rf ${FROM_DIR}/*
  1080.     ;;
  1081.     *)
  1082.     ;;
  1083.   esac
  1084. fi
  1085.  
  1086. cp $LOGFILE ${TMP_DEST}/BXINST_LOG.${HOSTNAME}
  1087. LOGFILE=${TMP_DEST}/BXINST_LOG.${HOSTNAME}
  1088.  
  1089. echo ""
  1090.  
  1091. if test "${NO_LMGR}" != "y"
  1092.   then
  1093.   PromptUser "Do you want to install the Flexible License Manager now?" "y"
  1094.   case "$USERPROMPT"
  1095.     in
  1096.     [Yy] | [Yy][Ee] | [Yy][Ee][Ss])
  1097.       ${SH} ${TMP_DEST}/install.lm ${TMP_DEST}
  1098.     ;;
  1099.     *)
  1100.     ;;
  1101.   esac
  1102. fi
  1103.  
  1104. #
  1105. # See if we need to install the uil2ada converter
  1106. #
  1107. if test "${NO_ADA}" != "y"
  1108.   then
  1109.   if [ -d "$TMP_DEST/uil2ada" ]
  1110.     then
  1111.     PromptUser "Do you want to install the BX Ada module now?" "y"
  1112.     case "$USERPROMPT"
  1113.       in
  1114.       [Yy] | [Yy][Ee] | [Yy][Ee][Ss])
  1115.         ${SH} ${TMP_DEST}/install.ada $TMP_DEST
  1116.       ;;
  1117.       *)
  1118.       ;;
  1119.     esac
  1120.   fi
  1121. fi
  1122.  
  1123. Log "Installation complete"
  1124.